package com.tanhua.dubbo.server.api;

import com.tanhua.dubbo.server.pojo.*;
import org.bson.types.ObjectId;

import java.util.List;

public interface SoulApi {
    /**
     * 查询所有问卷
      * @return
     */
    public List<Soul> querySoul();

    /**
     * 查询问卷相关问题
     * @param id
     * @return
     */
    public List<SoulQuestion> querySoulQuestion(ObjectId id);

    /**
     * 根据qid查询问题选项
     * @param qid
     * @return
     */
    public List<Option> queryOption(String qid);

    /**
     * 判断用户已是否解锁该问题
     * @param userId
     * @param sname
     * @return
     */
    public Boolean querySoulTestByUser(String userId,String sname);

    /**
     * 查询结果
     * @param answers
     * @param userId
     * @return
     */
    public String result(Answer[] answers,String userId);

    /**
     * 根据id查询用户得分
     * @param id
     * @return
     */
    public Integer queryScoreById(String id);

    /**
     * 根据所得分数获取相应结果
     * @param score
     * @return
     */
    public Conclusion queryResultByScore(Integer score);

    /**
     * 根据分数获取相似用户信息
     * @param score
     * @return
     */
    public List<SoulTime> queryUserByUser(Integer score,String userId);
}
